#define    _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
void rorata(int* nums, int numsSize, int k)
{
	//
	//while(k--)
	//{
	//	int end = nums[numsSize - 1];
	//	for (int i = numsSize - 1; i > 0; i--)
	//	{
	//		nums[i] = nums[i - 1];
	//	}
	//	end = nums[0];
	//}
	/*int newArr[numsSize];
	for (int i = 0; i < numsSize; i++)
	{
		newArr[(i + k) % numsSize] = nums[i];
	}
	for (int i = 0;i < numsSize;i++)
	{
		nums[i] = newArr[i];
	}*/

}
int main()
{
	return 0;
}



int removeElement(int* nums, int numsSize, int val)
{
	int dst = 0, src = 0;
	while (src < numsSize)
	{

		if (nums[src] != val)
		{
			nums[dst] = nums[src];
			dst++;
		}
		src++;
	}
	return dst;
}



int removeDuplicates(int* nums, int numsSize) 
{
	int dst = 0, src = dst + 1;
	while (src < numsSize)
	{
		if (nums[src]!=nums[dst] && ++dst != src)
		{
			nums[dst] = nums[src];
		}
		++src;
	}
	return dst + 1;
}

void merge(int* nums1, int nums1Size, int m, int* nums2, int nums2Size, int n) {
	int l1 = m - 1;
	int l2 = n - 1;
	int l3 = m + n - 1;
	while (l1 >= 0 && l2 >= 0)
	{
		if (nums1[l1] > nums2[l2])
		{
			nums1[l3--] = nums1[l1--];
		}
		else
		{
			nums1[l3--] = nums2[l2--];
		}
		while (l2 > 0)
		{
			nums1[l3--] = nums2[l2--];
		}
	}
}